const bcrypt = require("bcryptjs");

// 加密密码
const hashPassword = async (PlainTextpassword) => {
  // 生成salt的数量，数量越多越安全，但是速度越慢
  const saltRounds = 10;

  // 生成salt
  const salt = await bcrypt.genSalt(saltRounds);

  // 加密密码
  const hash = await bcrypt.hash(PlainTextpassword, salt);

  // 返回加密后的密码
  return hash;
};

// 验证密码
const comparePassword = async (PlainTextpassword, hashedPassword) => {
  // 验证密码
  const isMatch = await bcrypt.compare(PlainTextpassword, hashedPassword);

  // 返回验证结果
  return isMatch;
};

module.exports = {
  hashPassword,
  comparePassword,
};
